$.fn.alternateRowColors = function() {
    $('tbody tr:odd', this).removeClass('even').addClass('odd');
    $('tbody tr:even', this).removeClass('odd').addClass('even');
    return this;
};

$(document).ready(function(){
    var alternateRowColors = function($table) {
        $('tbody tr:odd', $table).removeClass('even').addClass('odd');
        $('tbody tr:even', $table).removeClass('odd').addClass('even');
    };
    $.ajaxSetup({
        cache: false,
        type: 'POST',
        dataType: 'json',
        error: function () {
            alert('Um erro de comunicação com o servidor ocorreu,\n\n\
                   façaa um refresh (tecla F5) e teste novamente!');
            $('.dados').fadeOut('fast');
        }
    });
    
    $('#ac_funcionario').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "/funcionarios/index",
                type: "POST",
                datatype: "json",
                data: {
                    q: request.term
                },
                success: function(data) {
                    //alert(data);
                    response($.map(data, function(item) {
                        return {
                            label: item.nome,
                            value: item.id,
                            telefone: item.telefone
                        }
                    }))
                }
            })
        },
        focus: function(event,ui){
            $('#idfuncionario').val(ui.item.label);
            return false;
        },
        open: function(event,ui) {
            $('#idfuncionario').val('');
        },
        select: function(event,ui){
            //alert(ui.item.label);
            $('#idfuncionario').val(ui.item.value);
            $('#ac_funcionario').val(ui.item.label);
            return false;
        },
        minChars : 3
    });

    $('#ac_colaborador').autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "/colaborador/index",
                type: "POST",
                datatype: "json",
                data: {
                    q: request.term
                },
                success: function(data) {
                    response($.map(data.colaboradores, function(item) {
                        return {
                            label: item.nome,
                            value: item.codusu
                        }
                    }))
                }
            })
        },
        focus: function(event,ui){
            $('#ac_colaborador').val(ui.item.label);
            return false;
        },
        open: function(event,ui) {
            $('#idcolabora').val('');
        },
        select: function(event,ui){
            $('#idcolabora').val(ui.item.value);
            $('#ac_colaborador').val(ui.item.label);
            if ($('#idcolabora').val()!=''){
                buscaTelefoneColaborador();
                $.ajax({
                    url: "/contato/index",
                    processData: false,
                    data: 'cliente_id='+$('#idcolabora').val(),
                    beforeSend: function (){
                        var pos = $('#ac_colaborador').position();  
                        var width = $('#ac_colaborador').width();
                        $("#ajax-ldr").css( {
                            "left": (pos.left+width+5) + "px", 
                            "top":pos.top + "px"
                        } ).fadeIn('fast');
						  
                    },
                    success: function(msg){
                        $('#idcontato option').remove();
                        $('#idcontato').append("<option value=''>Selecione o Contato...</option>")
                        for (i = 0; i < msg.length; i++) {
                            $('#idcontato').append("<option value='"+msg[i].idcontato+"'>"+msg[i].dsnome+"</option>")
                        }
                        $('#ajax-ldr').fadeOut('fast');
                    }
                });
            }
            return false;
        },
        minLength: 3,
        delay: 300
    });

	
	
    $('#idcontato').change(function(){
        if ($('#idcontato').val()!=''){
            buscaTelefoneContato();
        }
    });
	
	
    $('.acoes').click(function(){
        var aux = $(this);
        //alert($(aux).attr('action'));
        if (($(aux).attr('action')=='recebeligacao') || ($(aux).attr('action')=='efetualigacao')
            || ($(aux).attr('action')=='enviarecado')){
            if ($('#idfuncionario').val()==''){
                alert('Informe o Funcion�rio');
                return false;
            }
            if ($('#idcolabora').val()==''){
                alert('Informe o Colaborador');
                return false;
            }
            if ($('#idcontato').val()==''){
                alert('Informe o Contato');
                return false;
            }
            if (($('#dsrecado').val()=='') && ($(aux).attr('action')=='enviarecado')){
                alert('Descreva o recado');
                return false;
            }
            if (($('#dsrecado').val()=='') && (($('#idhumor').val() == 'C') ||($('#idhumor').val() == 'Z') ||($('#idhumor').val() == 'P')) ){
                alert('Descreva o recado');
                return false;
            }
            $.ajax({
                url: "/ligacoes/"+$(aux).attr('action'),
                processData: false,
                data: 'idfuncionario='+$('#idfuncionario').val()+'&idcolabora='+$('#idcolabora').val()+
                    '&idcontato='+$('#idcontato').val()+'&idhumor='+$('#idhumor').val()+'&dsrecado='+escape($('#dsrecado').val()),
                beforeSend: function (){
                    var pos = $(aux).position();
                    var width = $(aux).width();
                    if ($(aux).attr('action')=='enviarecado'){
                        $('#wait').html('Registrando Liga��o e Enviando Email...').slideDown('slow');
                    }else{
                        $('#wait').html('Registrando Liga��o...').slideDown('slow');
                    }
                    $("#ajax-ldr").css( {
                        "left": (pos.left+width+5) + "px",
                        "top":pos.top + "px"
                    } ).fadeIn('fast');
                },
                success: function(msg){
                    if (msg){
                        removeSolicitacao();
                        $('#ac_funcionario').val('');
                        $('#idfuncionario').val('');
                        $('#ac_colaborador').val('');
                        $('#idcolabora').val('');
                        $('#idcontato option').remove();
                        $('#idcontato').append('<option valus="">Selecione o Contato</option>');
                        $('#telefones option').remove();
                        $('#telefones').append('<option value="">Telefones...</option>');
                        $('#idhumor').val('');
                        $('#dsrecado').val('');
                    }
                    else{
                        alert('liga��o n�o registrada');
                    }
                    $('#wait').slideUp('fast');
                    $('#ajax-ldr').fadeOut('fast');
                }
            });
        }
    });

    $('#pesquisa').click(function(){
        //alert('oi');
        $.ajax({
            url: "/ligacoes/index",
            processData: false,
            data: 'filtro='+$('#filtro option:selected').val()+'&chave='+$('#chave').val()+
                '&origemdestino='+$('#origemdestino option:selected').val()+
                '&pagina=0',
            beforeSend: function (){
                var pos = $('#pesquisa').position();
                var width = $('#pesquisa').width();
                $('#wait').html('Pesquisando Liga�oes...').slideDown('slow');
                $("#ajax-ldr").css( {
                    "left": (pos.left+width+5) + "px",
                    "top":pos.top + "px"
                } ).fadeIn('fast');
            },
            success: function(msg){
                $('#listaligacoes tbody tr').remove();
                if (msg['qtde']>0){
                    $.each(msg['ligacoes'],function(item, value){
                        //alert(item+':'+value);
                        //console.log(value.idligacao);
                        $('#listaligacoes tbody')
                        .append($('<tr>').attr('id','aux')
                        .append($('<td>').text(value.contato.colaborador.nome))
                        .append($('<td>').text(value.funcionario.nome))
                        .append($('<td>').text(value.contato.dsnome))
                        .append($('<td>').text(value.dtligacao))
                        .append($('<td>').text(value.dsorigem_destino))
                        .append($('<td>').text(value.dstipo))
                        .append($('<td>'))
                        .append($('<td>'))
                    );
                    });
                }
                $('#listaligacoes').alternateRowColors();
                $('#wait').slideUp('fast');
                $('#ajax-ldr').fadeOut('fast');
            }
        });
    });
    $("#anterior").click(function(){
        var pag = $("#pagina").val();
        if (pag>0){
            pag--
        };

        $("#pagina").val(pag);
        return false;
    });
    $("#proximo").click(function(){
        var pag = $("#pagina").val();
        pag++;
        $("#pagina").val(pag);
        return false;
    });

    $('.navega').click(function(){
        $.ajax({
            url: "/ligacoes/index",
            processData: false,
            data: 'filtro='+$('#filtro option:selected').val()+'&chave='+$('#chave').val()+
                '&origemdestino='+$('#origemdestino option:selected').val()+
                '&pagina='+$('#pagina').val(),
            beforeSend: function (){
                var pos = $('#pesquisa').position();
                var width = $('#pesquisa').width();
                $('#wait').html('Pesquisando Liga�oes...').slideDown('slow');
                $("#ajax-ldr").css( {
                    "left": (pos.left+width+5) + "px",
                    "top":pos.top + "px"
                } ).fadeIn('fast');
            },
            success: function(msg){
                $('#listaligacoes tbody tr').remove();
                if (msg['qtde']>0){
                    $.each(msg['ligacoes'],function(item, value){
                        //alert(item+':'+value);
                        //console.log(value.idligacao);
                        $('#listaligacoes tbody')
                        .append($('<tr>').attr('id','aux')
                        .append($('<td>').text(value.contato.colaborador.nome))
                        .append($('<td>').text(value.funcionario.nome))
                        .append($('<td>').text(value.contato.dsnome))
                        .append($('<td>').text(value.dtligacao))
                        .append($('<td>').text(value.dsorigem_destino))
                        .append($('<td>').text(value.dstipo))
                        .append($('<td>'))
                        .append($('<td>'))
                    );
                    });
                }
                $('#listaligacoes').alternateRowColors();
                $('#wait').slideUp('fast');
                $('#ajax-ldr').fadeOut('fast');
            }
        });
    });

    $('.realizar').click(function(){
        var id = $(this).attr('sol');
        var idcont = $(this).attr('idcont');
        var iduser = $(this).attr('iduser');
        var idcol = $(this).attr('idcol');
        var nome = $('#tr_'+id+' td').html();
        $('#idcolabora').val(idcol);
        $('#ac_colaborador').val($('#tr_'+id+' td').next().html());
        $('#idfuncionario').val(iduser);
        $('#ac_funcionario').val($('#tr_'+id+' td').html());
        $('#idcontato').val(idcont);
        $('#idremove').val(id);
        $.ajax({
            url: "/contato/index",
            processData: false,
            data: 'cliente_id='+$('#idcolabora').val(),
            beforeSend: function (){
                var pos = $('#ac_colaborador').position();
                var width = $('#ac_colaborador').width();
                $("#ajax-ldr").css( {
                    "left": (pos.left+width+5) + "px",
                    "top":pos.top + "px"
                } ).fadeIn('fast');

            },
            success: function(msg){
                $('#idcontato option').remove();
                $('#idcontato').append("<option value=''>Selecione o Contato...</option>")
                for (i = 0; i < msg.length; i++) {
                    $('#idcontato').append("<option value='"+msg[i].idcontato+"'>"+msg[i].dsnome+"</option>")
                }
                $('#idcontato').val(idcont);
                buscaTelefoneColaborador();
                buscaTelefoneContato();
                $('#ajax-ldr').fadeOut('fast');
            }
        });       
        $('#tr_'+id).fadeOut();
        $('#tabs-1').click();
        return false;
    });

    function buscaTelefoneColaborador(){
        $.ajax({
            url: "/colaborador/index",
            processData: false,
            data: 'id='+$('#idcolabora').val(),
            beforeSend: function (){
                var pos = $('#ac_colaborador').position();
                var width = $('#ac_colaborador').width();
                $("#ajax-ldr").css( {
                    "left": (pos.left+width+5) + "px",
                    "top":pos.top + "px"
                } ).fadeIn('fast');

            },
            success: function(msg){
                $('#telefones option').remove();
                $.each(msg.colaboradores, function(key,item) {
                    $('#telefones').append('<option>Telefone do colaborador: '+item.telefone+'</option>');
                })

                $('#ajax-ldr').fadeOut('fast');
            }
        });
    }

    function buscaTelefoneContato(){
        $.ajax({
            url: "/contato/index",
            processData: false,
            data: 'idcontato='+$('#idcontato').val(),
            beforeSend: function (){
                var pos = $('#idcontato').position();
                var width = $('#idcontato').width();
                $("#ajax-ldr").css( {
                    "left": (pos.left+width+5) + "px",
                    "top":pos.top + "px"
                } ).fadeIn('fast');
					  
            },
            success: function(msg){
                if (msg[0].dstelefone !=null){
                    $('#telefones').append('<option>Telefone do contato: '+msg[0].dstelefone+'</option>');
                }
                if  ((msg[0].dscelular != null) && (msg[0].dscelular!='')){
                    $('#telefones').append('<option>Celular do contato: '+msg[0].dscelular+'</option>');
                }
                $('#ajax-ldr').fadeOut('fast');
            }
        });
    }

    function removeSolicitacao(){
        if ($('#idremove').val()!=''){
            $.ajax({
                url: "/ligacao/realizar",
                processData: false,
                data: 'id='+$('#idremove').val(),
                beforeSend: function (){
                    var pos = $('#ac_colaborador').position();
                    var width = $('#ac_colaborador').width();
                    $("#ajax-ldr").css( {
                        "left": (pos.left+width+5) + "px",
                        "top":pos.top + "px"
                    } ).fadeIn('fast');

                },
                success: function(msg){
                    $('#idremove').val('');
                    $('#ajax-ldr').fadeOut('fast');
                }
            });
        }
    }
})
